solrCloud的初體驗
正文
傻瓜操作,都是在UI上面執行。
但solr都是使用api的方式做動作。
所以下面的操作改成api是也可行的。
基本篇
- 新增資料
- 查詢資料
基本的查詢方式,
如果要查筆數的話,將rows 改成 0 ,就會列出所有筆數。
但不會顯示任何資料。 - 刪除所有資料
如果要刪除單筆,只要修改條件即可
將 : 改成要搜尋的條件,
(e.g. videoId: 28748)
<delete><query>*:*</query></delete>
<commit/>
ref.
solr刪除資料的四種方法
Solr官方文檔
進階篇
http http://<host>:<port>/solr/<collectionName>/schema/fields
ref. Schema API
- 搜尋中文字,欄位結構 text_general vs string
一般我們搜尋中文要額外安裝中文分詞,這樣搜尋關鍵字的時候,才會正確。
沒裝的話,會有下面的情況。
例如,搜尋 『中文』 ,但這樣會將欄位裡面除了有『中文』的資料撈出來以外,還會將資料中有『中』的字取出。
但後來同事有發現另一種解法,建立結構的時候,不能選擇 text_general,必須要選 string。
如果使用string的話,要注意的是只接受完整的文字搜尋。也就是一串文字中,搜尋的關鍵字要完全符合才會顯示。
而text_general,可接受部分的文字搜尋,但缺點就是搜尋中文時,會有上面的狀況。
結構使用string的話,如果改使用
*中文*
這種搜尋方式,就只會搜尋資料中有『中文』關鍵字的資料,字串不會被拆開查詢。
本來是要使用中文分詞,但後來也不用了。
- solr的外掛套件
本來官方是提供blob store API安裝套件,
但在 solrCloud 8.4 ,有多出了一個功能 package managr
可使用簡單且快速的方式安裝plugin。
但因為上面的第三點,所以也不用研究這塊了。
留下一些參考網址,留着以後查詢。
初步看都是在solr 啟動時要加一個指令
-Denable.packages=true
這個應該是在yaml佈署的時候,就要加上去了。
yaml佈署時,為容器設置啟動時要執行的命令和參數
也有在猜測,未來應該是可以直接使用 solr operator安裝的時候一並設定,但目前參數沒有看到,看未來會不會新增。Solr Operator
ref.